/*
 * *******************************************************************
 *   @项目名称: BHex Android
 *   @文件名称: FuturensBaseToken.java
 *   @Date: 19-6-10 下午5:25
 *   @Author: ppzhao
 *   @Description:
 *   @Copyright（C）: 2019 BlueHelix Inc.   All rights reserved.
 *   注意：本内容仅限于内部传阅，禁止外泄以及用于其他的商业目的.
 *  *******************************************************************
 */

package io.bhex.sdk.quote.bean;

import java.io.Serializable;
import java.util.List;

/**
 * 期货baseToken信息
 */
public class FuturensBaseToken implements Serializable {

    /**
     * tokenId : BTC0517
     * issueDate : 1557456997000
     * settlementDate : 1560181800000
     * coinToken : USDT
     * currency : USD
     * currencyDisplay : $
     * contractMultiplier : 1.0
     * limitDownInTradingHours : 0.0
     * limitUpInTradingHours : 0.0
     * limitDownOutTradingHours : 0.0
     * limitUpOutTradingHours : 0.0
     * maxLeverage : 100.0
     * levers : ["5","10","20"]
     * riskLimits : [{"riskLimitId":"100000001","riskLimitAmount":"100.0","maintainMargin":"0.04","initialMargin":"0.1","side":"SELL_OPEN"},{"riskLimitId":"100000002","riskLimitAmount":"200.0","maintainMargin":"0.04","initialMargin":"0.1","side":"SELL_OPEN"},{"riskLimitId":"100000003","riskLimitAmount":"300.0","maintainMargin":"0.04","initialMargin":"0.1","side":"SELL_OPEN"},{"riskLimitId":"100000004","riskLimitAmount":"400.0","maintainMargin":"0.04","initialMargin":"0.1","side":"SELL_OPEN"},{"riskLimitId":"100000005","riskLimitAmount":"500.0","maintainMargin":"0.04","initialMargin":"0.1","side":"SELL_OPEN"}]
     * overPriceRange : ["-0.5","0.5"]
     * marketPriceRange : ["-0.5","0.5"]
     */


    private String tokenId;         //期货token id
    private String issueDate;       //生效/上线日期
    private String settlementDate;      //到期/交割时间
    private String coinToken;       //交易(quote)token
    private String currency;    //计价单位
    private String currencyDisplay;     //显示价格单位
    private String contractMultiplier;      //合约乘数
    private String limitDownInTradingHours;         //交易时段内下跌限价
    private String limitUpInTradingHours;           //交易时段内上涨限价
    private String limitDownOutTradingHours;        //交易时段外下跌限价
    private String limitUpOutTradingHours;          //交易时段外上涨限价
    private String maxLeverage;             //最大杠杆
    private List<String> levers;
    private List<RiskLimitBean> riskLimits; //风险限额列表
    private List<String> overPriceRange;
    private List<String> marketPriceRange;
    /**
     * indexToken : BTCUSDT
     * 指数token
     */

    private String indexToken;
    /**
     * displayTokenId : USDT
     * displayIndexToken : BTCUSDT
     * marginPrecision : 0.00000001
     */

    private String displayTokenId;      //作价单位
    private String displayIndexToken;   //获取指数用的token
    private String marginPrecision;     //保证金的精度


    public String getTokenId() {
        return tokenId;
    }

    public void setTokenId(String tokenId) {
        this.tokenId = tokenId;
    }

    public String getIssueDate() {
        return issueDate;
    }

    public void setIssueDate(String issueDate) {
        this.issueDate = issueDate;
    }

    public String getSettlementDate() {
        return settlementDate;
    }

    public void setSettlementDate(String settlementDate) {
        this.settlementDate = settlementDate;
    }

    public String getCoinToken() {
        return coinToken;
    }

    public void setCoinToken(String coinToken) {
        this.coinToken = coinToken;
    }

    public String getCurrency() {
        return currency;
    }

    public void setCurrency(String currency) {
        this.currency = currency;
    }

    public String getCurrencyDisplay() {
        return currencyDisplay;
    }

    public void setCurrencyDisplay(String currencyDisplay) {
        this.currencyDisplay = currencyDisplay;
    }

    public String getContractMultiplier() {
        return contractMultiplier;
    }

    public void setContractMultiplier(String contractMultiplier) {
        this.contractMultiplier = contractMultiplier;
    }

    public String getLimitDownInTradingHours() {
        return limitDownInTradingHours;
    }

    public void setLimitDownInTradingHours(String limitDownInTradingHours) {
        this.limitDownInTradingHours = limitDownInTradingHours;
    }

    public String getLimitUpInTradingHours() {
        return limitUpInTradingHours;
    }

    public void setLimitUpInTradingHours(String limitUpInTradingHours) {
        this.limitUpInTradingHours = limitUpInTradingHours;
    }

    public String getLimitDownOutTradingHours() {
        return limitDownOutTradingHours;
    }

    public void setLimitDownOutTradingHours(String limitDownOutTradingHours) {
        this.limitDownOutTradingHours = limitDownOutTradingHours;
    }

    public String getLimitUpOutTradingHours() {
        return limitUpOutTradingHours;
    }

    public void setLimitUpOutTradingHours(String limitUpOutTradingHours) {
        this.limitUpOutTradingHours = limitUpOutTradingHours;
    }

    public String getMaxLeverage() {
        return maxLeverage;
    }

    public void setMaxLeverage(String maxLeverage) {
        this.maxLeverage = maxLeverage;
    }

    public List<String> getLevers() {
        return levers;
    }

    public void setLevers(List<String> levers) {
        this.levers = levers;
    }

    public List<RiskLimitBean> getRiskLimits() {
        return riskLimits;
    }

    public void setRiskLimits(List<RiskLimitBean> riskLimits) {
        this.riskLimits = riskLimits;
    }

    public List<String> getOverPriceRange() {
        return overPriceRange;
    }

    public void setOverPriceRange(List<String> overPriceRange) {
        this.overPriceRange = overPriceRange;
    }

    public List<String> getMarketPriceRange() {
        return marketPriceRange;
    }

    public void setMarketPriceRange(List<String> marketPriceRange) {
        this.marketPriceRange = marketPriceRange;
    }

    public String getIndexToken() {
        return indexToken;
    }

    public void setIndexToken(String indexToken) {
        this.indexToken = indexToken;
    }

    public String getDisplayTokenId() {
        return displayTokenId;
    }

    public void setDisplayTokenId(String displayTokenId) {
        this.displayTokenId = displayTokenId;
    }

    public String getDisplayIndexToken() {
        return displayIndexToken;
    }

    public void setDisplayIndexToken(String displayIndexToken) {
        this.displayIndexToken = displayIndexToken;
    }

    public String getMarginPrecision() {
        return marginPrecision;
    }

    public void setMarginPrecision(String marginPrecision) {
        this.marginPrecision = marginPrecision;
    }
}
